package nowcoder;
/**
 * 100449-组队竞赛
 * 链接：https://www.nowcoder.com/questionTerminal/6736cc3ffd1444a4a0057dee89be789b?orderByHotValue=1&page=1&onlyReference=false
 *
 * 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.
 * 现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。
 * 例如:
 * 一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3
 * 一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3
 * 一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2
 * 为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。
 * 如样例所示:
 * 如果牛牛把6个队员划分到两个队伍
 * 如果方案为:
 * team1:{1,2,5}, team2:{5,5,8}, 这时候水平值总和为7.
 * 而如果方案为:
 * team1:{2,5,8}, team2:{1,5,5}, 这时候水平值总和为10.
 * 没有比总和为10更大的方案,所以输出10.
 *
 * 输入
 * 2
 * 5 2 8 5 1 5
 * 输出
 * 10
 */
//【题目解析】：
//        队伍的水平值等于该队伍队员中第二高水平值，为了所有队伍的水平值总和最大的解法，也就是说每个队伍
//        的第二个值是尽可能大的值。所以实际值把最大值放到最右边，最小是放到最左边。
//【解题思路】：
//        本题的主要思路是贪心算法，贪心算法其实很简单，就是每次选值时都选当前能看到的局部最解忧，所
//        以这里的贪心就是保证每组的第二个值取到能选择的最大值就可以，我们每次尽量取最大，但是最大的
//        数不可能是中位数，所以退而求其次，取 每组中第二大的
//        例如 现在排序后 有 1 2 5 5 8 9 ，那么分组为1 8 9 和 2 5 5
//        关系arr[arr.length-2*(i+1)]
import java.util.*;
public class Day01_1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int[] s = new int[3*n];
        for (int i = 0; i < s.length; i++) {
            s[i] = input.nextInt();
        }

        Arrays.sort(s);
        long sum = 0;
        // 贪心算法
        // 1 2 3 4 5 6 7 8 9
        int index = s.length - 2;
        for (int i = 0; i < n; i++) {
            sum += s[index];
            index -= 2;
        }
        System.out.println(sum);
    }
}